<?php
/**
 * Created by PhpStorm.
 * User: stupboy
 * Date: 2018/2/12
 * Time: 17:19
 */

namespace app\api\controller\passenger;

use think\Db;
use think\Config;
/**
 * @name【乘客首页接口】
 * @baseurl【passenger】
 * @file【passenger/Home.php】
 */
class Home extends Base
{
    /**
     * 开启鉴权
     */
    protected $beforeActionList = [
        'auth'=>['except'=>'getWebPage'],
    ];

    /**
     * @name【首页审核订单数量】
     * @desc【首页审核订单数量】
     * @uri【approval_order_number】
     * @method【post】
     * @param【
     * ptoken $ string $ token $ 校验码 $ 1
     * 】
     * @return【
     * code $ int $ number|1-1 $ 标识1-成功 0-失败#
     * msg $ string $  $ code=0，错误信息#
     * data $ string $ $ 列表 $ {"count":0}
     * 】
     */
    public function approval_order_number(){
        $where['approval_id']  = $this->passengerInfo['passenger_id'];
        $where['order_state']  = 1;
        $info['count']         = Db::name('order')->whereNull('delete_time')->where($where)->count();
        return $this->retSucc(['data'=>$info]);
    }

    /**
     * @name【控件页面】
     * @desc【控件页面】
     * @uri【getWebPage】
     * @method【post】
     * @param【
     * pdtoken $ string $ abcd $ 校验码 $ 1 #
     * type    $ int $ 1 $ 控件类型 1 用车协议 2 用车规则  3 计费规则  4 帮助说明 $ 1
     * 】
     * @return【
     * code $ int $ number|1-1 $ 校验码#
     * msg $ string $  $ 错误信息 #
     * url $ string $ $ 地址
     * 】
     */
    public function getWebPage(){
        $areaId = $this->passengerInfo['area_id'] ?  $this->passengerInfo['area_id'] : 0;
        $type   = input('type',1);
        $areaStr= $areaId.',0';
        $where['area_id']  = ['in',$areaStr];
        $where['type']     = $type;
        $where['page_type']= 2;
        $page              = Db::name('mobile_page')->where($where)->field('is_auth,type')->find();
        if(empty($page)){
            return $this->retError(125);
        }
        if($page['is_auth']==1){
            $this->auth();
        }
        return $this->retSucc(['url'=>Config::get('base.web_url').url('api/page/index',['type'=>$type,'area'=>4,'page_type'=>2])]);
    }

    /**
     * @name【消息列表】
     * @desc【消息列表】
     * @uri【getMessage】
     * @method【post】
     * @param【
     *  ptoken $ string $ abcd $ 校验码 $1#
     *  page $ int $ 1 $ 页数 #
     *  pagenum $ int $ 10 $ 记录数
     * 】
     * @return【
     * code $ int $ number|1-1 $ 校验码#
     * msg $ string $  $ 错误信息
     * 】
     */
    public function getMessage(){
        $message = [
            [
                'title'=>'消息1',
                'content'=>'内容1',
                'send_time'=>'2018-01-01 09:30:00'
            ],
            [
                'title'=>'消息2',
                'content'=>'内容2',
                'send_time'=>'2018-01-02 09:31:00'
            ],
        ];
        $data['data'] = $message;
        $data['count']= 2;
        return $this->retSucc(['data'=>$data]);
    }

    /**
     * @name【首页轮播】
     * @desc【首页轮播】
     * @uri【getBanner】
     * @method【post】
     * @param【
     *  pdtoken $ string $ abcd $ 校验码 $1
     * 】
     * @return【
     * code $ int $ number|1-1 $ 校验码#
     * msg $ string $  $ 错误信息
     * 】
     */
    public function getBanner(){
        $data = [
            [
                'title' => '上饶出行',
                'image' => '/banner/shangrao.jpg',
            ],
        ];
        return $this->retSucc(['data'=>$data]);
    }

    /**
     * @name【意见反馈】
     * @desc【意见反馈】
     * @uri【feedback】
     * @method【post】
     * @param【
     * ptoken $ string $ token $ 校验码 $ 1#
     * user_id $ int $ 1 $ 用户ID $ 1#
     * content $ string $ 很棒 $ 反馈内容 $ 1
     * 】
     * @return【
     * code $ int $ number|1-1 $ 标识1-成功 0-失败#
     * msg $ string $  $ code=0，错误信息
     * 】
     */
    public function feedback()
    {
        $data['user_id'] = $this->passengerInfo['user_id'];
        $data['content'] = input('content','');
        $data['feedback_time'] = date('Y-m-d H:i:s', time());
        $resl            = Db::name('feedback')->insert($data);
        if ($resl) {
            return $this->retSucc();
        } else {
            return $this->retError('系统异常！');
        }
    }
}